<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
  </head>
  <body>
    <script type="text/javascript">
      const _quickSort = (array) => {
        // 补全代码
        if (array.length < 1) return array
        //先将找到数组的中间位置的下标
        let mid = Math.floor(array.length / 2)
        //在元素数组中删除这个元素。 并保存这个数
        var midNumber = array.splice(mid, 1)
        //定义比中间位置数值小的数组   （比数组中间位置元素小的放在leftArr）
        var leftArr = []
        //定义比中间位置数值小的数组   （数组中间位置元素大的放在rightArr）
        var rightArr = []
        for (var i = 0; i < array.length; i++) {
          if (midNumber > array[i]) {
            leftArr.push(array[i])
          } else {
            rightArr.push(array[i])
          }
        }
        //左边leftArr midNumber rightArr 将这三个数组链接起来。midNumber是这一个数
        return leftArr.concat(midNumber, rightArr)
      }
      console.log(_quickSort([0, -1, 1, -2, 2]))
    </script>
  </body>
</html>
